minix3fandomcom_mn-20200213-history
The GNU Minix 3 build system for x-compilation
The new build system is a remake of the previous one using GNU make (gmake) to allow compilation of minix on various system using various compilers. The goal is to make development as simple as possible. \\ олон төрлийн эмхэтгэгчийг хэрэглэдэг олон төрөлт системийн миниксийн дамжуулалт хийгддэг түрүүчийн өмнөх GNU-г хэрэглэн Шинээр хийсэн систем юм. Зорилго нь амархан хөгжүүлэх юм\\ Changes \\ өөрчлөлтүүд \\ • Compilation with other compilers (not only ACK) on Minix and other systems (Linux, BSD, ...) \\ миникс болон бусад систем дэхь Linux, BSD, ACK-аас өөр эмхэтгэгчтэй дамжуулалт \\ • Everything is built from the top level Makefile \\ бүх юмс нь дээд түвшний Makefile-аас хийгдсэн.\\ • A quiet mode is used by default to reduce the amount of printed messages (e.g. to expose warnings). Verbose mode is available for tracking what actions are taken during the build process • Elf-base as well as a.out-based output \\ жижиг суурьтай мөртлөө a.out-based output \\ • All dependencies are generated on the fly (no need for a separate "depends" target) • Switch from the default ack assembly syntax to gnu syntax as more compilers can process it Limitations \\ хязгаарлалууд \\ • tested only with ack and gcc \\зөвхөн ack ба gcc-аар шалгагдсан \\ • works only on 32-bit platforms \\зөвхөн 32-bit platforms-оор ажилладаг \\ HOWTOs How to get it\\хэрхэн авах вэ svn checkout https://gforge.cs.vu.nl/svn/minix/branches/src.r4508.buildsystem Compiling on Linux • Make sure that yacc and flex are installed. On Debian and Ubuntu, the former can be installed from the package called bison. . \\yacc ба flex программ байрлуулагдсан\суусан гэдэгт итгэлтэй байна. Debian and Ubuntu-д, bison гэж нэрлэгддэг компьютерийн багц программнаас байрлуулагдсан. \\ • Building a bootable image on Linux using the default gcc : \ Linux хэрэглээний default gcc - дэх компьютер асахад гардаг зургийг хийх\зохиох\ make all • Using different gcc : CC=gcc-4.1 make all Compiling on FreeBSD • Follow the Linux instructions using gmake //Linux зааврийн хэрэглээний\ашиглалтын gmake-г мөрдөх\дагах\ Compiling on Minix • Building a bootable image on Minix using ack (default) : \ Minix хэрэглээний ack- дэх компьютер асахад гардаг зургийг хийх\зохиох\ • As all assembly which is compiled by gcc as well as ack is now translated to gnu (at&t) syntax, the new version of asmconv tool must be installed to convert the gnu assembly to ack on the fly : \бүх иж бүрдэл gcc-ээр эмхэтгэгддэг мөртлөө ack-г gnu хосолсон хэлбэр –руу хөрвүүлсэн. Asmconv-н түлхүүрийн нэг шинэ хувилбар нь нисгэхэд\ нислэгээр gnu иж бүрдэлийг ack-руу шилжүүлэхэд байрлуулагддаг.\ cd commands/i386/asmconv gmake gmake /usr/lib/asmconv • And here we go : gmake all • To build an image using gcc on Minix, a libgcc library without leading '_' is required. It is easily generated like this : cd /usr/gnu/lib/gcc/i386-pc-minix/4.1.1/ objcopy --remove-leading-char libgcc.a libno_gcc.a • Building a bootable image on Minix using gcc : CC=gcc gmake all If running out of space because there is not much space in /tmp (e.g. the root partition is small) set TMPDIR to point to a directory on a more spacious partition \Илүү багтаамж сайтай хэсэг дэх удирдлага\лавлахыг үзүүлдэг TMPDIR-г суулгахад хангалттай зайгүй байгаад чөлөөтэй зай дуусвал:\ TMPDIR=/usr/tmp gmake all Installing the new image\шинэ дүрс суулгах\ Copy the resulting image.aout to the /boot/image directory of your Minix instalation Build system options CC compiler to use (e.g. CC=gcc) V=1 turns on the verbose mode \\олон үгтэй хэлбэрийг нээх\\ SERIAL_CONSOLE=clone | only clone or redirects all output to serial console (for debugging) BOOT_IMAGE_TYPE=aout | elf selects the output format used. aout is default and the only well supported so far TMPDIR selects directory for temporary files CROSS_COMPILE cross-compiler prefix Makefiles format for userspace programs